package com.sh.boot_mq_consumer.test;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * @ClassName JmsProduct
 * @Description 连接activemq的队列，消息生产者
 * @Author yaoqiang
 * @Date 2020/10/23 15:26
 * @Version 1.0
 */
public class JmsProduct {

    public static final String ACTIVEMQ_URL = "tcp://192.168.55.214:61616";
    public static final String Q_NAME = "queue01";

    public static void main(String[] args) throws JMSException {
        //1、创建连接工厂，采用默认用户名密码
        ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(ACTIVEMQ_URL);
        //2、通过连接工厂，通过连接工厂获取connect并启动访问
        Connection connection = activeMQConnectionFactory.createConnection();
        connection.start();

        //3、创建会话session。有两个参数一个是事务，另一个是签收
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        //4、创建目的地，具体是队列queue还是主题topic
        Queue queue = session.createQueue(Q_NAME);
        //5、创建消息的生产者
        MessageProducer messageProducer = session.createProducer(queue);
        //6、通过使用消息生产者，发送三条消息
        for (int i = 0; i < 5; i++) {

            //7、创建消息
            TextMessage textMessage = session.createTextMessage("message" + i);
            //8通过messageProducer发送
            messageProducer.send(textMessage);
        }
        //9、关闭资源
        messageProducer.close();
        session.close();
        connection.close();
        System.out.println("mq运行结束");

    }
}
